home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / probots.arc / FOO.PR < prev    next >
Text File  |  1991-04-28  |  1KB  |  54 lines

  1.   PROCEDURE FOO;
  2.  
  3.     { Based on C-Robot FOO : programmed by OBI-ONE }
  4.  
  5.   VAR
  6.     drv_dir        : Integer; { drive direction }
  7.     scn_dir        : Integer; { scan direction }
  8.     Range          : Integer; { range to oponent }
  9.     found          : Integer; { foe found ? }
  10.     x, y           : Integer; { current location }
  11.  
  12.   BEGIN {FOO main}
  13.     drv_dir := Random(360); { initialize }
  14.     scn_dir := 0;
  15.     found := 0;
  16.     drive(drv_dir, 100);
  17.     
  18.     WHILE True DO BEGIN { main loop }
  19.       
  20.       { when close to wall, turn around at random.     }
  21.  
  22.       x := loc_x;
  23.       IF (x < 200) THEN
  24.         drv_dir := Random(90)
  25.       ELSE IF (x > 800) THEN
  26.         drv_dir := Random(90)+180;
  27.  
  28.       y := loc_y;
  29.       IF (y < 200) THEN
  30.         drv_dir := Random(90)+90
  31.       ELSE IF (y > 800) THEN
  32.         drv_dir := Random(90)+270;
  33.       
  34.       drive(drv_dir, 100);
  35.  
  36.       { scan every 20 degrees resolution. }
  37.       { if foe found, cannon it. }
  38.  
  39.       Range := scan(scn_dir, 10);
  40.       IF Range > 0 THEN
  41.         BEGIN
  42.           found := 1;
  43.           cannon(scn_dir, Range);
  44.         END
  45.       ELSE IF found > 0 THEN
  46.         BEGIN
  47.           found := 0;
  48.           scn_dir := scn_dir-30;
  49.         END
  50.       ELSE scn_dir := scn_dir+10;
  51.       
  52.     END; { end of main loop }
  53.   END; {FOO}
  54.